package dancetiktokmodelmysql

import (
	"gorm.io/gorm"
	"time"
)

// DanceElement 后台平台菜单表
type DanceElement struct {
	Id                 int64          `gorm:"primaryKey;autoIncrement;comment:id" json:"id"`
	Icon               string         `json:"icon" gorm:"column:icon;type:varchar(256);not null;default:'';comment:缩略图地址"`
	No                 int64          `json:"no" gorm:"column:no;type:varchar(256);not null;default:'';comment:元素编号-参考 10465705，运营人员录入的"`
	Name               string         `json:"name" gorm:"column:name;type:varchar(256);not null;default:'';comment:元素名字-运营人员填写"`
	ElementLocal       string         `json:"elementLocal" gorm:"column:element_local;type:varchar(256);not null;default:'';comment:逗号隔开,1:头发;2:脸;5:上半身;6:下半身;8:鞋子,11:左手持,12:右手持,14:头顶,15：背后"`
	Sex                int            `json:"sex" gorm:"column:sex;type:tinyint;default:0;not null;comment:男女 1男 2女"`
	ValidityPeriodGive int            `json:"validityPeriodGive" gorm:"column:validity_period_give;type:tinyint;default:0;not null;comment:是否可赠送"`
	Derived            int            `json:"derived" gorm:"column:derived;type:tinyint;default:0;not null;comment:是否派生"`
	EleType            int64          `json:"eleType" gorm:"column:ele_type;type:bigint;default:0;not null;comment:一级类型"`
	ElePart            int64          `json:"elePart" gorm:"column:ele_part;type:bigint;default:0;not null;comment:二级类型"`
	EleTag             string         `json:"eleTag" gorm:"column:ele_tag;type:varchar(256);not null;default:'';comment:标签"`
	Quality            int64          `json:"quality" gorm:"column:quality;type:bigint;default:0;not null;comment:品质"`
	CreateId           int64          `json:"create_id" gorm:"column:create_id;type:bigint;default:0;not null;comment:创建人id"` // 创建人id
	UpdateId           int64          `json:"update_id" gorm:"column:update_id;type:bigint;default:0;not null;comment:更新人id"` // 更新人id
	CreatedAt          time.Time      `json:"created_at" gorm:"column:created_at;type:datetime"`
	UpdatedAt          time.Time      `json:"updated_at" gorm:"column:updated_at;type:datetime"`
	DeletedAt          gorm.DeletedAt `gorm:"index;type:datetime" json:"-"`
}

//type ElementLocalList []*ElementLocal

type ElementLocal struct {
	Code             int    `json:"code"`
	ElementLocalName string `json:"ElementLocalName"`
}

//func (c ElementLocal) Value() (driver.Value, error) {
//	b, err := json.Marshal(c)
//	return string(b), err
//}
//
//func (c *ElementLocal) Scan(input interface{}) error {
//	return json.Unmarshal(input.([]byte), c)
//}
